Skip to content

CI: Enable jruby-head, don't allow jruby releases to fail#145

Merged
dentarg merged 1 commit intosinatra:mainfrom
headius:jruby_ci
Aug 13, 2025
Merged

CI: Enable jruby-head, don't allow jruby releases to fail#145
dentarg merged 1 commit intosinatra:mainfrom
headius:jruby_ci

Conversation

@headius
Copy link
Contributor

@headius headius commented Jul 21, 2025

In jruby/jruby#8922 a bug was reported in JRuby 10.0.1.0 that might have been caught before release had mustermann's CI been running jruby-head builds without enabling allow-failure. This PR will modify mustermann CI to run both jruby and jruby-head, the latter against sinatra head, without allowing failures to be silently ignored (because we'll fix them).

@headius headius mentioned this pull request Jul 21, 2025
@headius
Copy link
Contributor Author

headius commented Jul 21, 2025

This will fail on the "jruby" matrix due to 10.0.1.0 having the bug reported in jruby/jruby#8920, but ideally should only show the two issues I mentioned in #72 (comment) when running against "jruby-head".

I would appreciate some pointers to help me figure out why those failures happen.

@headius
Copy link
Contributor Author

headius commented Jul 21, 2025

jruby-head has been updated to include the fix for jruby/jruby#8920. I'd like to see if those same two failures occur in CI... can someone approve the workflow?

@dentarg
Copy link
Member

dentarg commented Jul 21, 2025

I just approved CI to run

(FYI I'm on vacation and can't be of much help for a few weeks)

@headius
Copy link
Contributor Author

headius commented Jul 28, 2025

Good news! The jruby-head build runs as it does for me locally, with only two failure I will look into. All fixes on head should be in a JRuby release within the next couple of weeks.

I will update again once I have fixed the remaining two failures.

@headius
Copy link
Contributor Author

headius commented Jul 28, 2025

Actually I'm a bit confused. The failing code appears to be attempting to load mustermann/ast but I do not see any such file in the codebase. Where is this file supposed to come from? Did I miss a step setting up my local test environment?

@headius
Copy link
Contributor Author

headius commented Jul 28, 2025

Oh I get it... it's supposed to fail, but for some reason the failure is not bubbling out to the spec properly.

headius added a commit to headius/jruby that referenced this pull request Jul 28, 2025
This was changed in CRuby in 2010.

See ruby/ruby@208a51f

This fixes the remaining two failures running mustermann specs.

See sinatra/mustermann#145
@headius
Copy link
Contributor Author

headius commented Jul 28, 2025

Aha! It is a difference of error message due to a change we apparently missed way back in 2010.

ruby/ruby@208a51f

I've pushed a PR for JRuby to fix this. With the patch in place, mustermann's specs are green!

jruby/jruby#8929

@headius
Copy link
Contributor Author

headius commented Aug 3, 2025

I have merged the last pull request to JRuby and initiated a head build here:

https://github.com/ruby/jruby-dev-builder/actions/runs/16703423124

This should be ready shortly, and then the JRuby head build here should be green. We could remove the jruby release job for now if you prefer, but we should be releasing JRuby 10.0.2.0 this week.

@dentarg
Copy link
Member

dentarg commented Aug 3, 2025

I'll merge this when JRuby 10.0.2.0 is out!

@headius
Copy link
Contributor Author

headius commented Aug 3, 2025

@dentarg Could you rerun the latest build so I can confirm head is green please? Thank you!

@dentarg
Copy link
Member

dentarg commented Aug 3, 2025

@headius can you rebase and push? that should trigger builds again I think

Despite Maintainers are allowed to edit this pull request I got error: failed to push some refs to 'github.com:headius/mustermann.git' (cli/cli#8794 did not help me) when I tried to push the rebase

@headius
Copy link
Contributor Author

headius commented Aug 3, 2025

Can do!

@dentarg
Copy link
Member

dentarg commented Aug 3, 2025

Only JRuby release build that's failing, as expected!

@dentarg
Copy link
Member

dentarg commented Aug 8, 2025

I saw that JRuby 10.0.2.0 is out https://www.jruby.org/2025/08/07/jruby-10-0-2-0.html 🎉 Now we wait for rbenv/ruby-build#2558 to be merged and for the automation in https://github.com/ruby/ruby-builder to pick it up and make it available in https://github.com/ruby/setup-ruby

@headius
Copy link
Contributor Author

headius commented Aug 8, 2025

It's a long tail but we are almost there!

@headius
Copy link
Contributor Author

headius commented Aug 11, 2025

It appears JRuby 10.0.2.0 has propagated through ruby-build and ruby-builder! I'll rebase one more time to ensure it's working properly.

In order to help ensure JRuby does not break mustermann again,
remove the allow-failure flag and add jruby-head with sinatra head
for more coverage.

The issue reported in jruby/jruby#8920 wouldn't have been released
if it had been caught by jruby-head testing in mustermann, and
having allow-failure means bugs introduced by JRuby may never be
caught by mustermann CI.

I will push additional fixes to get the remaining failure green.
@dentarg dentarg changed the title Enable jruby-head in CI and fix remaining failures CI: Enable jruby-head, don't allow jruby releases to fail Aug 13, 2025
@dentarg dentarg merged commit b34e6e2 into sinatra:main Aug 13, 2025
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants